镇楼–生命周期图

调试代码
|
|
beforeCreate/created
beforeCreate 之前解析初始化on,attr
beforeCreate 之后才开始解析component的属性值绑定
created
|
|
beforeMount/mounted
|
|
beforeUpdate/updated
|
|
beforeDestroy/destroyed
调用$destroy函数触发,beforeDestroy后从父级移除,ob中移除,移除虚拟dom中数据
destroyed后解绑事件并把vue置为null
|
|
activated/deactivated
该函数在keep-alive的时候调用,切换compoment时候将不会调用$destroy函数,初始化不调用该函数。
两个钩子函数与其他几个钩子函数调用不触发
|
|
到这里基本就完成了一次vue的组件生命周期,再回头看生命周期的图示更深刻理解。下面是在调试的时候遇见的笔记有趣的代码。在实现业务组件数据化配置时遇见的一些小坑
其他
$options initInternalComponent
可以从$option中获取关于组件的基本信息,eg.componetName,props,data
$parent $children 设置
|
|
事件绑定,v-on指令事件
|
|
|
|
内部和外部使用的区别在于是否需要转换解析node,外部使用的render出现嵌套数组
需要更深入了解学习,需要学习Object.defineProperty,Proxy,Set,观察者模式,订阅者模式